layui.use(['table','layer'],function(){
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    // 订单列表展示
    var  tableIns = table.render({
        elem: '#customerContactList',
        url : ctx+"/contact/list?cusId="+$("input[name='id']").val(),
        cellMinWidth : 95,
        page : true,
        height : "full-125",
        limits : [10,15,20,25],
        limit : 10,
        toolbar: "#toolbarDemo",
        id : "customerContactListTable",
        cols : [[
            {type: "checkbox", fixed:"center"},
            {field: "id", title:'编号',fixed:"true"},
            {field: 'contactTime', title: '往来时间',align:"center"},
            {field: 'address', title: '地址',align:"center"},
            {field: 'overview', title: '往来概要',align:"center"},
            {field: 'createDate', title: '创建时间',align:"center"},
            {field: 'updateDate', title: '更新时间',align:"center"},
            {title: '操作',fixed:"right",align:"center", minWidth:160,templet:"#customerContactListBar"}
        ]]
    });

    /**
     * 监听头部工具栏事件
     *  格式：
     *      table.on('toolbar(数据表格的lay-filter属性值)', function (data) {
     *
            })
     */
    table.on('toolbar(customerContact)', function (data) {
        // 判断对应的事件类型
        if (data.event == "add") {
            // 添加操作
            openAddOrUpdateCustomerContactDialog();

        } else if (data.event == "del") {
            // 删除（多条）操作
            deleteCustomerContacts(data);
        }
    })

    /**
     * 监听行工具栏
     */
    table.on('tool(customerContact)',function (data) {
        if (data.event == "edit") {
            // 得到客户的ID
            // var cId = data.data.id;
            // 打开修改订单信息数据的窗口
            openAddOrUpdateCustomerContactDialog(data.data.id)
        }else if (data.event == "del") {
            //删除单条数据
            deleteCustomerContact(data.data.id);
        }
    });

    /**
     * 打开添加/修改订单信息的窗口
     *      如果订单信息ID为空，则为添加操作
     *      如果订单信息ID不为空，则为修改操作
     */
    function openAddOrUpdateCustomerContactDialog(id) {
        // 弹出层的标题
        var title = "<h3>往来记录管理 - 添加往来记录信息</h3>";
        var url = ctx + "/contact/toAddOrUpdateCustomerContactPage?cId="+$("input[name='id']").val();

        // 判断往来记录ID是否为空
        if (id != null && id != '') {
            // 更新操作
            title  = "<h3>往来记录管理 - 更新往来记录信息</h3>";
            // 请求地址传递营销机会的ID
            url += '&id=' + id;
        }

        // iframe层
        layui.layer.open({
            // 类型
            type: 2,
            // 标题
            title: title,
            // 宽高
            area: ['500px', '340px'],
            // url地址
            content: url,
            // 可以最大化与最小化
            maxmin:true
        });
    }

    /**
     * 删除(单条)
     */
    function  deleteCustomerContact(id) {
        // 弹出确认框，询问用户是否确认删除
        layer.confirm('您确认要删除该记录吗？',{icon:3, title:'往来记录管理'}, function (index) {
            // 发送ajax请求，执行删除操作
            $.post(ctx + '/contact/delete',{ids:id}, function (result) {
                // 判断删除结果
                if (result.code == 200) {
                    // 提示成功
                    layer.msg('删除成功',{icon:6});
                    // 刷新数据表格
                    tableIns.reload();
                } else {
                    // 提示失败原因
                    layer.msg(result.msg,{icon:5});
                }
            });
        });
    }

    /**
     * 删除往来记录（删除多条记录）
     * @param data
     */
    function deleteCustomerContacts(data) {
        // 获取数据表格选中的行数据   table.checkStatus('数据表格的ID属性值');
        var checkStatus = table.checkStatus("customerContactListTable");
        console.log(checkStatus);

        // 获取所有被选中的记录对应的数据
        var customerContactData = checkStatus.data;

        // 判断用户是否选择的记录 (选中行的数量大于0)
        if (customerContactData.length < 1) {
            layer.msg("请选择要删除的记录！",{icon:5});
            return;
        }

        // 询问用户是否确认删除
        layer.confirm('您确定要删除选中的记录吗？',{icon:3, title:'往来记录管理'}, function (index) {
            // 关闭确认框
            layer.close(index);
            // 传递的参数是数组   ids=1&ids=2&ids=3
            var ids = "ids=";
            // 循环选中的行记录的数据
            for(var i = 0; i < customerContactData.length; i++) {
                if(i < customerContactData.length -1) {
                    ids = ids + customerContactData[i].id + "&ids="
                } else {
                    ids = ids + customerContactData[i].id;
                }
            }
            // console.log(ids);

            // 发送ajax请求，执行删除营销机会
            $.ajax({
                type:"post",
                url:ctx + "/contact/delete",
                data:ids, // 传递的参数是数组 ids=1&ids=2&ids=3
                success:function (result) {
                    // 判断删除结果
                    if (result.code == 200) {
                        // 提示成功
                        layer.msg("删除成功！",{icon:6});
                        // 刷新表格
                        tableIns.reload();
                    } else {
                        // 提示失败
                        layer.msg(result.msg, {icon:5});
                    }
                }
            });
        });

    }

});
